With increasing processor speeds, processors today generally execute a large amount of instructions at any given time, and the instructions typically use resources such as physical register file (PRF) for performing operations included in the instructions. Sometimes, however, a PRF can be corrupted, which can lead to an execution error. To account for such errors, conventional systems often perform a parity error detection on a PRF read. Data written to a register will have an additional parity bit included. The parity error detection will check the state of the parity error (usually even or odd), which should correspond to the integrity of the data. If any parity error is detected, conventional systems will typically trigger a machine check error (MCE). A MCE, however, corresponds to a catastrophic completion of the operation. A MCE generally require a restart of the processor and possible loss of data. Hence, MCEs are undesirable and sought to be avoided.
In some cases, a detected error may be recoverable under certain circumstances. Nonetheless, conventional systems do not account for such type of errors and do not provide a recovery technique that could obviate the need to call unnecessary MCEs.
Thus, the inventors recognized a need in the art to detect recoverable errors and to correct the recoverable errors thereby reducing MCE calls.